第1章
课程导论与背景
多核时代的挑战 · MESI/MOESI/MSI概述 · 课程目标与学习路径
导论背景
第2章
缓存基础回顾
Cache组织结构 · Line/Tag/Index/Offset · 写策略(Write-through/Write-back)
Cache写策略
第3章
一致性协议核心概念
共享内存模型 · 一致性问题根源 · 一致性 vs 连贯性
核心内存模型
第4章
窥探协议(Snooping)原理
总线监听 · 状态机转换(I/S/M) · 总线事务类型
Snooping总线
第5章
目录协议(Directory)原理
目录结构(位向量/链式) · 目录状态机 · 与Snooping对比
Directory状态机
第6章
MESI协议详解
M/E/S/I四种状态 · 状态转换图 · 总线事务触发条件
MESI状态图
第7章
MOESI协议详解
Owner状态引入 · 状态转换图 · 与MESI性能差异
MOESIOwner
第8章
MSI协议详解
三态模型 · 状态转换图 · 适用场景分析
MSI三态
第9章
协议实现架构
总线接口单元(BIU) · Cache控制器状态机 · 协议引擎微架构
架构BIU
第10章
RTL实现基础
Verilog/VHDL状态机编码 · Mealy vs Moore · 单周期/多周期
RTLFSM
第11章
Snooping协议RTL实现(一)
总线监听接口 · 总线请求仲裁 · Invalidation广播
SnoopingRTL
第12章
Snooping协议RTL实现(二)
Cache Line状态机RTL · 状态转换条件 · 数据响应路径
状态机RTL
第13章
Snooping协议RTL实现(三)
多核互联拓扑(总线/环形/网格) · 地址过滤与广播优化
拓扑优化
第14章
目录协议RTL实现(一)
目录存储结构(SRAM/寄存器堆) · 目录查找与更新逻辑
目录SRAM
第15章
目录协议RTL实现(二)
目录状态机RTL · Home节点与请求节点交互 · 目录消息类型
状态机消息
第16章
目录协议RTL实现(三)
死锁与活锁问题 · 协议级流控设计
死锁流控
第17章
一致性协议验证策略
验证计划 · 功能覆盖点 · 断言(Assertion)设计
验证断言
第18章
仿真验证环境搭建
SystemVerilog Testbench · 随机激励 · Scoreboard/Checker
仿真SV
第19章
形式化验证入门
属性检查 · SVA断言 · 模型检查基础
形式化SVA
第20章
协议性能分析
延迟与带宽模型 · 一致性流量 · 写缺失/读缺失开销
性能延迟
第21章
多核缓存一致性模拟器
Python/C++模拟器框架 · 状态机模拟 · 性能计数器
模拟器Python
第22章
真实案例:ARM AMBA ACE
ACE协议简介 · ACE与CHI对比 · Snoop Filter
ARMACE
第23章
真实案例:RISC-V TileLink
TileLink B/C/D/E通道 · 一致性模型
RISC-VTileLink
第24章
真实案例:Intel MESIF
F状态引入 · QPI/UPI互联
IntelMESIF
第25章
高级话题:NUMA与一致性
非一致性内存访问 · NUMA-aware协议优化
NUMA优化
第26章
高级话题:可扩展性与层次化
一致性可扩展性 · 多级目录 · 层次化一致性
可扩展层次化
第27章
高级话题:内存模型与缓冲
TSO/SC/RC · Store Buffer · Invalidation Queue
内存模型缓冲
第28章
项目实战:单核到双核Snooping
缓存一致性系统搭建 · RTL集成与仿真调试
项目Snooping
第29章
项目实战:四核目录协议系统
目录控制器与节点控制器RTL · 系统级验证
项目目录协议
第30章
课程总结与未来展望
CXL协议 · Chiplet一致性挑战 · 学习资源推荐
总结CXL